﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ModeloMagiPack.Entidades;
using DALMagiPack.Funcionalidad;

namespace BLLMagiPack.Managers
{
    public class BLLBanco : BLLMagiPack
    {
        public List<Banco> TraerBancos(Provincias provincia)
        {
            DALMagiPack<Banco> dalBanco = new DALMagiPack<Banco>();
            List<Filtro> opciones = new List<Filtro>() { new Filtro() { Columna = NombresColumnas.Provincia, Tipo = TipoFiltro.Equal } };

            return dalBanco.Traer(new Banco() { Provincia = (int)provincia }, opciones).OrderBy(b => b.NombreBanco).ToList();
        }

        public List<Banco> TraerBancos()
        {
            DALMagiPack<Banco> dalBanco = new DALMagiPack<Banco>();

            return dalBanco.Traer(new Banco(), new List<Filtro>());
        }

        public Banco TraerBanco(int idBanco)
        {
            DALMagiPack<Banco> dalBanco = new DALMagiPack<Banco>();
            List<Filtro> opciones = new List<Filtro>() { new Filtro() { Columna = NombresColumnas.IdBanco, Tipo = TipoFiltro.Equal } };

            return dalBanco.Traer(new Banco() { IdBanco = idBanco }, opciones).FirstOrDefault();
        }

        public List<Banco> TraerBancos(string nombre)
        {
            DALMagiPack<Banco> dalBanco = new DALMagiPack<Banco>();
            List<Filtro> opciones = new List<Filtro>() { new Filtro() { Columna = NombresColumnas.NombreBanco, Tipo = TipoFiltro.Like } };

            return dalBanco.Traer(new Banco() { NombreBanco = nombre }, opciones);
        }

        public void CrearBanco(Banco nuevoBanco)
        {
            DALMagiPack<Banco> dalBanco = new DALMagiPack<Banco>();
            dalBanco.Insertar(nuevoBanco);
        }

        public void ModificarBanco(Banco Banco)
        {
            DALMagiPack<Banco> dalBanco = new DALMagiPack<Banco>();
            dalBanco.Modificar(Banco);
        }

        public void EliminarBanco(Banco banco)
        {
            DALMagiPack<Banco> dalBanco = new DALMagiPack<Banco>();
            dalBanco.Eliminar(banco);
        }
    }
}
